5 POKE52,32:POKE56,32:CLR 11 LF$="B.WAR SPRITES4":AD=14592:GOSUB20 13 LF$="WAR CELLS":AD=32062:GOSUB20 15 LF$="SPLIT SCREEN.O":AD=853:GOSUB20 17 LF$="MEGADATA":AD=49152:GOSUB20 18 GOTO 93 20 H%=AD/256:L%=AD-H%*256 25 OPEN1,8,1,LF$+",P,R":POKE185,0:POKE780,0:POKE781,L%:POKE782,H%:SYS65493:CLOSE1:RETURN 93 : 100 MS%=135:POKE53247,1 101 DIMS(1),A(1),F(1),X(1),Y(1):POKE851,1:SYS853:V=RND(-TI):YY=1 102 GOSUB1001:S(0)=0:S(1)=0:PL=0:S0=0:S1=0:FORZZ=1TOYY:A(0)=0:A(1)=0:F(0)=0:F(1)=0 200 FY$=STR$(INT(RND(1)*MS%)+1):FY$="S"+RIGHT$(FY$,LEN(FY$)-1):IFFY$=FZ$THEN20 205 FZ$=FY$:POKE16589,0:POKE16591,0:GOSUB1540:IFEN<>0THEN200 206 F1%=(FZ$="S123"ORFZ$="S119"):F2%=(FZ$="S124"ORFZ$="S120") 210 YU%=0:IFF1%THENPOKEV+14,168:POKEV+15,134:POKE2047,228 215 X%=INT(RND(1)*9)*(INT(RND(0)*2)*2-1)*16:IFW%=0THENX%=0 217 PRINT"[147]":SYS49152:PRINT"[144]WIND: "; 220 IFX%=0THEN222 221 FORJ=1TO9-ABS(X%/16):PRINTCHR$(SGN(X%)+61);:NEXT 222 PRINTTAB(20)"BATTLE:"ZZ"/"YY"" 230 PL=1-PL:IF(S(1)-S1)>(S(0)-S0)THENPL=1 235 IF(S(0)-S0)>(S(1)-S1)THENPL=0 236 S0=S(0):S1=S(1) 237 IFZR%=1THENZR%=0:PL=1-PL 240 PRINT"";:POKE646,PL:PRINT"PLAYER1 :"S(1);TAB(20); 250 POKE646,1-PL:PRINT"PLAYER2 :"S(0) 260 POKEV+21,15:POKE2042,241:POKE2043,240:POKEV+39,0:POKEV+40,11 270 POKEV+41,0:POKEV+42,11:POKE2040,248:POKE2041,248 280 IFF1%ORF2%THENPOKEV+28,128:IFF1%THENPOKE2047,228 281 POKEV+46,0:IFF2%THENPOKE2047,229 282 IFYU%=0AND(F1%ORF2%)THENPOKEV+21,143 290 Y(0)=PEEK(16584)*16+45:Y(1)=PEEK(16586)*16+45:BY(0)=Y(0):BY(1)=Y(1) 300 X(0)=PEEK(16585)*16+20:X(1)=PEEK(16587)*16+20 310 FORJ=0TO1:POKEV+J*2+4,X(J)AND255:BX(J)=X(J)+((J=0)*2+1)*6 320 POKEV+J*2,BX(J)AND255:POKEV+J*2+1,Y(J)+3:POKEV+J*2+5,Y(J):NEXTJ:POKE851,0 330 POKEV+16,INT(X(0)/256)*4+INT(X(1)/256)*8+INT(BX(0)/256)+INT(BX(1)/256)*2 340 IFF2%THENPOKEV+16,PEEK(V+16)+128:POKEV+14,0:POKEV+15,146 402 POKE53265,27:GOSUB1200:POKE53232,203:POKE53233,0:A=A(PL)*(null)/180 412 F=INT(F(PL)*(20/13.8)+.5):POKE53206+PL,COS(A)*F:POKE53208+PL,(PL=0)*-1 415 POKE53214+PL,SIN(A)*F:POKE53216+PL,1:POKE53218,ABS(X%):POKE53219,1-(SGN(X%)/2+.5) 417 POKE53220,PL:POKE53227,0:POKE53200,PEEK(V):POKE53201,PEEK(V+2):POKE53202,0 418 POKE53203,0:POKE53204,PEEK(V+16)AND1:POKE53205,(PEEK(V+16)AND2)/2 419 POKE53210,PEEK(V+1):POKE53211,PEEK(V+3):POKE53212,0:POKE53213,0 420 FORJ=1TO10:A=PEEK(V+31):A=PEEK(V+30):NEXT 440 POKE53234,0:POKE53235,64:POKES+18,129:POKES+18,128:POKES+11,17 460 SYS49486:POKES+11,16:SC=PEEK(53226) 462 ONPEEK(53229)GOTO600,480,490,230 480 GOSUB800:GOTO700 490 GOSUB800:GOTO720 600 POKES+4,129:POKES+4,128:POKEV+39+PL,1:FORJ=248TO252:POKE2040+PL,J 610 FORI=1TO10:NEXTI,J:A=PEEK(V+30):GOSUB1350 615 FORJ=251TO248STEP-1:POKE2040+PL,J:FORI=1TO10:NEXTI,J:POKEV+39+PL,11*PL 620 IF(AAND((PL+1)*5))=((PL+1)*5)THENSC=1:GOTO700 630 IF(AAND(PL*-3+9))=PL*-3+9THENSC=2:GOTO720 635 ZR%=0:IF(AAND(129+PL))=129+PLTHENSC=2:ZR%=1:GOTO720 640 GOTO230 700 FORJ=245-PL*3TO247-PL*3:POKE2042+PL,J:FORI=1TO30:NEXTI,J 710 S(1-PL)=S(1-PL)+SC:GOTO900 720 FORJ=242+PL*3TO244+PL*3:POKE2043-PL,J:FORI=1TO30:NEXTI,J 730 S(PL)=S(PL)+SC:IFZR%=1THENYU%=1:GOSUB1630:GOTO230 740 GOTO900 800 POKES+4,129:POKES+4,128:POKEV+39+PL,1:FORJ=248TO252:POKE2040+PL,J 810 FORI=1TO10:NEXTI,J:POKE53280,1:GOSUB1350:POKE53280,0 815 FORJ=251TO248STEP-1:POKE2040+PL,J:FORI=1TO10:NEXTI,J:POKEV+39+PL,11*PL:RETURN 900 NEXTZZ 902 PRINT"PLAYER1 :"S(1);TAB(20);"PLAYER2 :"S(0) 903 IFS(0)<>S(1)THENGOSUB1700 910 FORJ=1TO2000:NEXT:GOTO102 1001 S=54272:FORJ=0TO24:POKEJ+S,0:NEXT:POKES+24,15:POKES+6,252:POKES+1,25 1002 POKES+15,25:POKES+20,249:POKES+13,240:PL=0:POKE851,1 1010 V=53248:POKE53280,0:POKE53281,6:POKEV+16,0:POKEV+21,0:POKEV+37,8:POKEV+38,7 1100 PRINT"[147] WAR![146] BY MARK DEMBROWSKI - 1991" 1110 PRINTTAB(11)"PRESS FIRE TO PLAY" 1120 IFPEEK(56320)<>111ANDPEEK(56321)<>239THEN1120 1130 POKEV+21,0:PRINT"[147]# BATTLES TO PLAY? 1" 1132 IFPEEK(56320)=111ORPEEK(56321)=239THEN1132 1133 PRINT""SPC(20)" [157][157][157]"YY 1134 IFPEEK(56321)=254ORPEEK(56320)=126THENYY=YY+1:IFYY=21THENYY=20 1135 IFPEEK(56321)=253ORPEEK(56320)=125THENYY=YY-1:IFYY=0THENYY=1 1136 IFPEEK(56321)=239ORPEEK(56320)=111THEN1139 1138 GOTO1133 1139 GOSUB1600:RETURN 1200 POKES+8,64:POKES+7,0:PO=1:SR=1 1201 PRINT"[144]ANGLE: SPEED: M/S":POKE1872,46:POKE56144,0 1206 POKES+11,17:POKES+11,16 1207 POKE(SR-1)*11+1950+(PO-1),30 1210 AN$=RIGHT$("0"+RIGHT$(STR$(A(PL)),LEN(STR$(A(PL)))-1),2) 1220 FO$=RIGHT$("00"+RIGHT$(STR$(F(PL)),LEN(STR$(F(PL)))-1),3) 1230 PRINT"[145][144]ANGLE:"AN$" SPEED:"FO$ 1240 FB=PEEK(56320+PL):JS=15-(FBAND15):FB=FBAND16 1250 IFFB=16ANDJS=0THEN1240 1260 IFJS<>8THEN1270 1261 POKE(SR-1)*11+1950+(PO-1),32 1262 PO=PO+1:IFPO=2+SRTHENPO=1:SR=3-SR 1266 GOTO1206 1270 IFJS<>4THEN1280 1271 POKE(SR-1)*11+1950+(PO-1),32 1272 PO=PO-1:IFPO=0THENSR=3-SR:PO=1+SR 1275 GOTO1206 1280 IFJS<>1ORSR<>1THEN1290 1282 A(PL)=A(PL)+(2-PO)*9+1:IFA(PL)>90THENA(PL)=90 1284 GOTO1206 1290 IFJS<>1ORSR<>2THEN1300 1292 F(PL)=F(PL)+INT(10^(3-PO)):IFF(PL)>140THENF(PL)=140 1294 GOTO1206 1300 IFJS<>2ORSR<>1THEN1310 1302 A(PL)=A(PL)-((2-PO)*9+1):IFA(PL)<0THENA(PL)=0 1304 GOTO1206 1310 IFJS<>2ORSR<>2THEN1320 1312 F(PL)=F(PL)-INT(10^(3-PO)):IFF(PL)<0THENF(PL)=0 1314 GOTO1206 1320 IFFB=0ANDJS=0THENA(PL)=VAL(AN$):F(PL)=VAL(FO$):GOTO1340 1330 GOTO1240 1340 PRINT" ":RETURN 1350 EX=PEEK(PL*2+V):EY=PEEK(PL*2+V+1):IF(PEEK(V+16)AND(PL+1))=0THEN1390 1380 EX=EX+256:IF(EX/2)=INT(EX/2)THENEX=EX-1:GOTO1440 1390 IF(EX/2)=INT(EX/2)THENEX=EX+1 1440 ER=INT((EY-42)/8):YE=(EY-42)AND7:EC=INT((EX-13)/8):XE=(EX-13)AND7 1445 J=0:BY=INT(ER/2)*20+INT(EC/2)+16384:IFPEEK(BY)>166ANDPEEK(BY)<190THENJ=1 1450 YE=YE-6:IFYE<0THENYE=YEAND7:ER=ER-1 1460 XE=XE-6:IFXE<0THENXE=XEAND7:EC=EC-1 1470 BY=8192+ER*320+EC*8+YE:XE=(2^(7-XE))*(3/2) 1480 POKE52000,BYAND255:POKE52001,BY/256:POKE52006,XE 1490 POKE52003,ERAND255:POKE52004,ECAND255:POKE52005,YE 1495 IFJ=0THENSYS50300 1500 RETURN 1540 POKE851,1 1545 POKE53265,11:POKE780,LEN(FZ$):POKE781,60:POKE782,3:FORJ=1TOLEN(FZ$) 1550 POKE827+J,ASC(MID$(FZ$,J,1)):NEXT:SYS65469 1560 POKE780,0:POKE781,8:POKE782,0:SYS65466 1580 POKE780,0:POKE781,0:POKE782,64:SYS65493 1590 OPEN15,8,15:INPUT#15,EN:CLOSE15:RETURN 1600 PRINT"[147]PRESS DOWN FOR NO WIND, UP FOR WIND" 1610 IFPEEK(56321)=254ORPEEK(56320)=126THENW%=1:RETURN 1620 IFPEEK(56321)=253ORPEEK(56320)=125THENW%=0:RETURN 1625 GOTO1610 1630 POKEV+28,0:POKE2047,253:POKEV+46,1:POKES+11,17:FORJ=PEEK(V+15)TO1STEP-2 1640 POKEV+15,J:POKEV+46,J:POKES+8,196-J/2:NEXT:POKES+11,16:RETURN 1700 IFS(0)>S(1)THEN1710 1705 FORJ=0TO99:POKE646,J:PRINT"PLAYER1":NEXT:RETURN 1710 FORJ=0TO99:POKE646,J:PRINT""SPC(20)"PLAYER2":NEXT:RETURN